//package com.yz.design.responsibilityDegin;
//
//import java.util.ArrayList;
//import java.util.List;
//
//public class ResponsibilityChain extends AbstractMessageResponsibility<Message> {
//
//    // 完整责任链列表
//    private List<AbstractMessageResponsibility> list = new ArrayList<>();
//
//    // 索引
//    private int index = 0;
//
//    // 添加责任对象
//    public ResponsibilityChain add(AbstractMessageResponsibility responsibility) {
//        list.add(responsibility);
//        return this;
//    }
//
//    @Override
//    public void doSomething(Message message, AbstractMessageResponsibility responsibility) {
//        // 所有遍历完了，直接返回
//        if (index == list.size()) {
//            return;
//        }
//        // 获取当前责任对象
//        AbstractMessageResponsibility currentResponsibility = list.get(index);
//        // 修改索引值，以便下次回调获取下个节点，达到遍历效果
//        index++;
//        // 调用当前责任对象处理方法
//        currentResponsibility.doSomething(message, this);
//    }
//
//}